Method and Apparatus for Fast TTFF

ABSTRACT

A data model is built using satellite ephemeris data collected over an extended period of time, allowing generation on a server of very precise orbital parameters preferably using a force or numerical method. These orbital parameters are stored in a mobile device. When a First Fix is required by a GNSS system within the mobile device, these stored orbital parameters are used to rapidly generate accurate satellite trajectory data model without requiring access to a broadcasted ephemeris or a network connection. The stored orbital parameters may be modified in part or in whole as required by changing coefficients of the stored parameters.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of the filing date under 35 U.S.C. 119(e) of a U.S. Provisional Application No. 61/331,865, filed May 6, 2010, the disclosure of which is incorporated by reference herein in its entirety for all purposes.

BACKGROUND

The present application relates to GNSS (Global Navigation Satellite System) trajectory prediction.

Very precise knowledge of each of 3 or 4 GNSS satellites' clock and trajectory information is required to accurately calculate position of a remote receiver. The remote receiver can obtain this knowledge from the ephemeris information typically broadcasted repeatedly by each satellite every 30 seconds. However, due to many factors affecting the satellite's orbit, this broadcasted GNSS ephemeris information is typically only valid for 2 to 4 hours into the future.

Thus if a remote receiver has been unable to receive updated ephemeris information for an extended period, perhaps due to being turned off or disabled, any previously stored ephemeris information will be invalid when the remote receiver is reactivated, and updated information will be need to be retrieved from the satellites before the remote receiver can begin to calculate its current location. The delay in the remote receiver between being turned on and calculating current location is known as Time To First Fix (TTFF), and as any delay tends to frustrate a user, one of the most important tasks of a GNSS (e.g. GPS) is to speed up TTFF by extending or predicting the orbital ephemeris for the remote receiver.

One broad approach to this problem is for a server to collect ephemeris information and calculate extended satellite trajectory and clock information for many days into the future. Due to the complexity and required precision of orbital trajectory calculations, often using a perturbed Force-model on received ephemeris information, the use of special software on a powerful central server is required to estimate extended trajectories for many days into the future while keeping estimations within acceptable error limits. Each time a remote receiver is reactivated, the remote receiver's TTFF can be shortened considerably by immediately receiving this extended information directly from the central server via an Internet or wireless communication system rather than waiting for the satellites to repeat their broadcast.

A second broad approach to the TTFF problem is for the server to continuously provide GNSS trajectory data that is valid for an extended period of time into the future to a mobile receiver. This solution requires the remote receiver to be in continuous or at least frequent connection with the server as well as adequate data storage capacity on the remote receiver.

SUMMARY

A position locating method for a Global Navigation Satellite System is disclosed. A model of a satellite's orbital and/or clock data is stored in a mobile device, the model including orbital parameters. To obtain a First Fix, the mobile device extracts satellite trajectory information from the stored orbital model and determines the satellite's position based on the extracted satellite trajectory information. Once the satellite's position is known, location of the mobile device can be determined.

A mobile device used in a Global Navigation Satellite System is also disclosed. The mobile device includes a Global Navigation Satellite System module for determining location of the mobile device according to the Global Navigation Satellite System and a central processing unit coupled to the Global Navigation Satellite System module and to a memory. The memory comprises a non-transitory model of a satellite's orbital and/or clock data including orbital parameters, and computer code which when executed by the central processing unit extracts satellite trajectory information from the orbital parameters stored in the memory, determines the satellite's position based on the extracted satellite trajectory information, and determines first fix of the mobile device according to the determined satellite's position and clock data.

These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a general flow chart illustrating predicting trajectory data and using the self-extended trajectory data to acquire satellite signals.

FIG. 2 is a flow chart illustrating predicting trajectory data according to one embodiment of the disclosure.

FIG. 3 is an example graph illustrating compensated error correction according to one embodiment of the disclosure.

FIG. 4 is an example GNSS enabled device for use with the embodiments detailed in the disclosure.

DETAILED DESCRIPTION

Please refer to FIG. 1 which is a general flow chart 10 illustrating predicting trajectory data and using the self-extended trajectory data to acquire satellite signals according to an embodiment of the disclosure. In FIG. 1, the steps inside the dotted line 20, specifically steps 22, 24, 26, and 28, illustrate one method of extending orbital data for fast TTFF. As shown in step 60, ephemeris data can be imported into the system and checked for validity in step 55. If the data is valid, the flow jumps to step 60. If the data is no longer valid, the flow jumps to step 22. In steps 22 through 26, ephemeris data received from a satellite signal can be extended for short periods of time and stored into a memory. In step 28, the stored data can then be extracted and checked, in step 30, to ensure the full ephemeris is available and valid according the acceptable error tolerances. If the extracted data is not full and valid, a flag may be set in step 40 indicating the satellite's trajectory is unavailable. If the extracted data is full and valid, the flow jumps to steps 60, 65, 70, 75, 80, and 85 where finally a position can be fixed.

Please refer now to FIG. 2, which is a flow chart 200 illustrating trajectory data prediction according to one embodiment of the disclosure. In this embodiment, a storage orbit/clock model is pre-stored in the GNSS receiver, wherein the model includes a plurality of coefficients for calculating/predicting trajectory data. The model may be a function of time. When a position fix is required, corresponding timing information is substituted into the model and then an estimated satellite trajectory data is generated. Therefore, the ephemeris is no longer a necessary initial condition for position fix. The GNSS receiver can predict future trajectory data using the storage orbit/clock model without receiving ephemeris from satellite or external server. The storage orbit/clock model is established outside the GNSS receiver by, for example, analyzing ephemeris data for a predetermined period of time, perhaps even many months, for one or more of the GNSS satellites. Then the parameters capable of describing the trend of satellite trajectory are installed into the GNSS receiver as the storage orbit/clock model. This calculating model in step 215 can be of any type, inter alia a force model or numerical model, and can be used to obtain orbital and/or clock data at a future time point when desired. Because the data model is built by referring to a large amount of data using a powerful server and complicated software, the data model can be very accurate which is within acceptable error tolerances for weeks, months, or possible even more time into the future.

As one non-limiting example of such a data model, a satellite's orbital and/or clock data can be reduced to a polynomial of varying orders, each order having a coefficient. In practical application, one and/or more polynomials (or other data model) may be used to model the entire satellite's trajectory and/or each portion of the satellite's trajectory (for example Keplerian parameters or possibly X, Y, and Z parameters either of which can be used, and the present invention is not limited thereto). A majority of the coefficients are temporarily fixed (although changeable in some embodiments) to provide accurate representation of the orbital and clock data for that satellite. Once an acceptable data model has been generated, orbital parameters can be calculated directly from the data model as shown in step 220. These orbital parameters form the basis for the polynomial (or other applied calculation method) data model including the appropriate coefficients. In this example, replacing or altering coefficients of one or more predefined orders of the polynomial can, when solved, produce reasonably accurate orbital and/or clock data for that satellite at the time represented by the correspondingly replaced/modified coefficient(s).

Once a mobile device that has GNSS capabilities and also has the orbital parameters stored within the mobile device requires a First Fix, appropriate coefficients, such as current time perhaps, are applied to the orbital parameters as shown in step 228. This application of the appropriate coefficients results in the extraction of satellite trajectory data as predicted by the orbital parameters without the necessity of accessing a host system or satellite signal to obtain the information. The extracted satellite trajectory data is then checked, in step 230, to ensure that it forms the equivalent of full ephemeris data and that the extracted data is still considered valid. The validity of the data is subject to acceptable error tolerances, type of data model used in step 215 utilized, and other design considerations.

If the extracted data is considered both complete and valid, the satellite's position and velocity (step 260) can be determined using the extracted data without waiting to receive ephemeris data from a host system or a satellite signal, greatly improving TTFF. Because the orbital parameters can be calculated using much historical data and powerful software with few calculation time constraints, the accuracy and validity of satellite trajectory data extracted from the stored orbital parameters can be greatly improved over conventional methods.

FIG. 3 illustrates a simple example of such extracted satellite trajectory data. In FIG. 3, the orbital parameters for a six-order polynomial are used.

As can be seen, data extracted from the orbital parameters in this example do produce errors on the order of 100 meters, but errors at this level are well within acceptable tolerances. With a longer collection of ephemeris data and higher order orbital parameters which is easily possible when generated in step 215, accuracy and validity durations of the extracted data can be further improved.

Please be noted that the orbital/clock model may include a reference ephemeris or almanac and a plurality of coefficients describing error correction terms referring to the specific reference ephemeris or almanac. In other words, satellites' reference ephemeris and an error model may be pre-stored in the mobile device. When a position fix is required, corresponding timing information is substituted into the model to calculate an estimated error, and then an estimated satellite trajectory data is generated by combining the estimated error with the reference ephemeris/almanac. Therefore, the ephemeris is no longer a necessary initial condition for position fix. The GNSS receiver can predict future trajectory data using the storage model without receiving ephemeris from satellite or external server.

FIG. 4 is an example GNSS device 600 suitable for use with embodiments disclosed herein. The device 600 includes a GNSS module 610 for determining satellite and/or mobile device location. Coupled to the GNSS module 610 is a central processing unit 620 for controlling the mobile device 600 and for executing computer code 640 stored in the memory 630. The stored computer code 640 may include the generated model including orbital parameters, as well as computer code specific to each of the embodiments detailed herein.

In summary, an improved method of TTFF is disclosed. A data model is built, allowing generation of orbital data without receiving broadcasted ephemeris for position fix. The data model containing changeable parameters are stored in a mobile device. When a position Fix is required by a GNSS system within the mobile device, these stored orbital parameters are used to rapidly generate accurate satellite trajectory data model without requiring access to a broadcasted ephemeris or a network connection, speeding up TTFF while providing extended validity periods.

Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims. 

1. A position locating method for a Global Navigation Satellite System, the method comprising: storing a model of a satellite's orbital and/or clock data in a mobile device, the model including orbital parameters; extracting, by the mobile device, satellite trajectory information from the stored orbital parameters; determining, by the mobile device, the satellite's position based on the extracted satellite trajectory information; and determining position of the mobile device according to the determined satellite's position and clock data.
 2. The method of claim 1 wherein a force model is used to generate the model.
 3. The method of claim 1 wherein the orbital parameters have coefficients.
 4. The method of claim 1 wherein the orbital parameters form a polynomial.
 5. The method of claim 1 wherein the model comprises error correction terms referring to a reference ephemeris or almanac.
 6. A mobile device used in a Global Navigation Satellite System, the device comprising: a Global Navigation Satellite System module for determining location of the mobile device according to the Global Navigation Satellite System; and a central processing unit coupled to the Global Navigation Satellite System module and to a memory, the memory comprising: a model of a satellite's orbital and/or clock data including orbital parameters; and computer code which when executed by the central processing unit extract satellite trajectory information from the orbital parameters stored in the memory, determines the satellite's position based on the extracted satellite trajectory information, and determines position of the mobile device according to the determined satellite's position.
 7. The mobile device of claim 6 wherein a force model is used to generate the model.
 8. The mobile device of claim 6 wherein the orbital parameters have coefficients, and the memory further comprises computer code which when executed by the central processing unit updates at least one of the coefficients to reflect a change in the satellite trajectory data.
 9. The mobile device of claim 6 wherein the model comprises error correction terms referring to a reference ephemeris or almanac.
 10. A non-transitory computer readable medium comprising computer code which when executed by a processor extracts satellite trajectory information from orbital parameters stored in a memory which stores a model of a satellite's orbital and/or clock data including orbital parameters; computer code which when executed by the processor determine the satellite's position based on the extracted satellite trajectory information, and computer code which when executed by the processor determines position of a mobile device according to the determined satellite's position. 